3.6.9.14 fvfma-単精度ベクトル積和演算の基本動作
MAB内で単精度ベクトルFMA (x*y+z)を行う。
code:文法
fvfma <src_x> <src_y> <src_z> <dst_0> <dst_1>..
第 1 入力の<src_x>、第 2 入力の<src_y>、および第 3 入力の<src_z>は読み出し元PEオペランドである。基本動作においていずれも通常の単精度の値で、アクセス語長は長語である。
<dst_0> [<dst_1>..]は書き込み先PEオペランドである。
演算結果は複数のPEメモリに同時に書き込むことができるが、以下効果では簡単のため単一の書き込み先としてdstを指定した例を示している。
基本動作において演算結果は通常の単精度であり、書き込みのアクセス語長は長語である。
code:効果.py
for cycle= 0:4
forall chip,l2b,l1b,mab,pe
ShortWord src_data_x2 = MEMchipl2bl1bmabpe.refer_pemem(src_x, cycle)
ShortWord src_data_y2 = MEMchipl2bl1bmabpe.refer_pemem(src_y,cycle)
ShortWord src_data_z2 = MEMchipl2bl1bmabpe.refer_pemem(src_z,cycle)
ShortWord dst_data2 =src_data_x: * src_data_y: +src_data_z:
MEMchipl2bl1bmabpe.refer_pemem(dst, cycle) =dst_data: